Exploiting Speculative Value Reuse Using Value Prediction
نویسندگان
چکیده
Data dependencies between instructions greatly impede instruction-level parallelism. Recently two hardware techniques – Value Prediction and Value Reuse – have been proposed to overcome the limits imposed by data dependencies. We introduce a new hardware scheme for exploiting speculative value reuse by using value prediction. We propose a new microarchitecture which uses value prediction to provide speculative value reuse. We use Value Prediction to predict operands of all integer ALU instructions and all load/store instructions. Value Reuse – including speculative and non-speculative reuse – is used for repeating instructions. Repeating instructions, which are found by a value reuse test, are those instructions which are executed repeatedly with the same input values and produce the same results. We use execution-driven simulation to evaluate the performance of our scheme. On average, we found ~9% speedup over a baseline architecture and ~84% correctly predicted speculative value reuse in speculative reuse lookup operations (~5.7% of executed instructions).
منابع مشابه
Improving Value Prediction by Exploiting Both Operand and Output Value Locality
Existing value reuse and prediction schemes use a hardware prediction table or reuse buffer to store an instruction’s value history based on its program. The result cache [17], on the other hand, has been proposed to exploit operand value locality by reusing the output values produced by any instruction of the same type that has been executed previously using the same input operands. However, d...
متن کاملExploiting Thread-Level Speculative Parallelism with Software Value Prediction
Software value prediction (SVP) is an effective and powerful compilation technique helping to expose thread-level speculative parallelism. With the help of value analysis and profiling, the compiler identifies critical and predictable variable values and generates speculatively parallelized programs with appropriate value prediction and misprediction recovery code. In this paper, we examine thi...
متن کاملThe Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism
This work studies the performance impact of return value prediction in a system that supports speculative method-level parallelism (SMLP). A SMLP system creates a speculative thread at each method call. This allows the method and the code from which it is called to be executed in parallel. To improve performance, the return values of methods are predicted in hardware so that no method has to wa...
متن کاملExtending Value Reuse to Basic Blocks with Compiler Support
Speculative execution and instruction reuse are two important strategies that have been investigated for improving processor performance. Value prediction at the instruction level has been introduced to allow even more aggressive speculation and reuse than previous techniques. This study suggests that using compiler support to extend value reuse to a coarser granularity than a single instructio...
متن کاملExploiting Computational Locality in Global Value Histories
BODINE, JILL THERESE. Exploiting Computational Locality in Global Value Histories. (Under the direction of Thomas M. Conte.) Value prediction is a speculative technique to break true data dependencies by using history to predict values before they are computed. Previous research focused on exploiting two types of value locality (computation-based and context-based) in the local value history, w...
متن کامل